<template>
  <div id="app">
    <div style="display: none">
      <el-amap vid="amap" :plugin="plugin" class="amap-demo" :center="center">
      </el-amap>
    </div>
    <router-view />
    <tabbar v-show="tabbarShow" />
  </div>
</template>

<script>
import tabbar from "./components/tabbar/index";

export default {
  name: "App",
  components: {
    tabbar,
  },
  created() {
  },
  data() {
    const self = this;
    return {
      center: [121.59996, 31.197646],
      lng: 0,
      lat: 0,
      loaded: false,
      plugin: [
        {
          enableHighAccuracy: true, //是否使用高精度定位，默认:true
          timeout: 100, //超过10秒后停止定位，默认：无穷大
          maximumAge: 0, //定位结果缓存0毫秒，默认：0
          convert: true, //自动偏移坐标，偏移后的坐标为高德坐标，默认：true
          showButton: true, //显示定位按钮，默认：true
          buttonPosition: "RB", //定位按钮停靠位置，默认：'LB'，左下角
          showMarker: true, //定位成功后在定位到的位置显示点标记，默认：true
          showCircle: true, //定位成功后用圆圈表示定位精度范围，默认：true
          panToLocation: true, //定位成功后将定位到的位置作为地图中心点，默认：true
          zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见，默认：f
          extensions: "all",
          pName: "Geolocation",
          events: {
            init(o) {
              // o 是高德地图定位插件实例
              o.getCurrentPosition((status, result) => {
                window.localStorage.setItem(
                  "cityName",
                  result.addressComponent.city
                );
                window.localStorage.setItem("lat", result.position.lat);
                window.localStorage.setItem("lng", result.position.lng);
                if (result && result.position) {
                  self.lng = result.position.lng;
                  self.lat = result.position.lat;
                  self.center = [self.lng, self.lat];
                  self.loaded = true;
                  self.$nextTick();
                }
              });
            },
          },
        },
      ],
      tabbarShow: true
    };
  },
  methods: {
    scrollToTop(){
      document.body.scrollIntoView()
    },
    toJSON(){
      return this
    }
  },
  created(){
    if (this.$route.name == 'shopList' || this.$route.name == 'index' || this.$route.name == 'map' || this.$route.name == 'my' || this.$route.name == "oilShow") {
        this.tabbarShow = true
      }else {
        this.tabbarShow = false
      }
  },
  watch: {
    $route(to) {
      this.scrollToTop()
      if (to.name == 'shopList' || to.name == 'index' || to.name == 'map' || to.name == 'my' || to.name == "oilShow") {
        this.tabbarShow = true
      }else {
        this.tabbarShow = false
      }
    },
  },
};
</script>

<style lang="scss" scoped>
#app {
  padding: 0;
  margin: 0;
  background-color: #f7f8fa;
}
</style>
